//package nars.lab.launcher;
//
//import java.io.BufferedReader;
//import java.io.InputStreamReader;
//import javax.script.ScriptEngine;
//import javax.script.ScriptEngineManager;
//import javax.script.ScriptException;
//import nars.NAR;
//
///**
// * Javascript NAR Runner
// * @author me
// */
//public class NARjs {
//    final static ScriptEngineManager factory = new ScriptEngineManager();
//    
//    final ScriptEngine js = factory.getEngineByName("JavaScript");
//
//    public NARjs() throws Exception {
//        super();
//        js.eval("load('nashorn:mozilla_compat.js')");
//        
//        js.eval("importPackage('java.lang')");
//        js.eval("importPackage('java.util')");
//        js.eval("importPackage('java.io')");
//
//        js.eval("importPackage('nars.core')");
//        js.eval("importPackage('nars.core.build')");
//        js.eval("importPackage('nars.io')");
//        js.eval("importPackage('nars.gui')");
//        
//        js.eval("function newDefaultNAR() { var x = new NAR(new Default()); new TextOutput(x, System.out); return x; }");
//    }
//
//    public Object eval(String s) throws ScriptException {
//        return js.eval(s);
//    }
//    
//    public static void printHelp() {
//        System.out.println("Help coming soon.");
//    }
//    
//    public static void main(String[] args) throws Exception {
//        NARjs j = new NARjs();
//        
//        System.out.println(NAR.VERSION +  " Javascript Console - :h for help, :q to exit");
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        System.out.print("> ");
//
//        String s;
//        while ((s = br.readLine())!=null) {
//            
//            
//            try {
//                if (s.equals(":q"))
//                    break;
//                else if (s.startsWith(":h")) {
//                    printHelp();
//                    continue;
//                }
//                    
//                Object ret = j.eval(s);
//                
//                if (ret != null) {
//                    System.out.println(ret);
//                }
//            } catch (Exception e) {
//                System.out.println(e.getClass().getName() + " in parsing: " + e.getMessage());
//            } finally {
//
//                
//                System.out.print("> ");
//                
//            }
//        }
//    
//        br.close();
//        System.exit(0);
//    }
//}
